const local: App.I18n.Schema = {
  system: {
    title: 'DD 管理系统',
    updateTitle: '系统版本更新通知',
    updateContent: '检测到系统有新版本发布，是否立即刷新页面？',
    updateConfirm: '立即刷新',
    updateCancel: '稍后再说'
  },
  common: {
    keywords: '关键字',
    action: '操作',
    detail: '详情',
    look: '查看',
    null: '无',
    all: '全部',
    add: '新增',
    new: '新建',
    more: '更多',
    addSuccess: '添加成功',
    operaFailure: '操作失败',
    backToHome: '返回首页',
    batchDelete: '批量删除',
    cancel: '取消',
    close: '关闭',
    check: '勾选',
    expandColumn: '展开列',
    columnSetting: '列设置',
    config: '配置',
    confirm: '确认',
    delete: '删除',
    deleteSuccess: '删除成功',
    confirmDelete: '确认删除吗？',
    edit: '编辑',
    warning: '警告',
    notice: '注意',
    error: '错误',
    success: '成功',
    fail: '失败',
    test: '测试',
    index: '序号',
    keywordSearch: '请输入关键词搜索',
    logout: '退出登录',
    logoutConfirm: '确认退出登录吗？',
    loginExpiration: '登录已过期，请重新登录！',
    lookForward: '敬请期待',
    modify: '修改',
    modifySuccess: '修改成功',
    noData: '无数据',
    operate: '操作',
    pleaseCheckValue: '请检查输入的值是否合法',
    refresh: '刷新',
    reset: '重置',
    search: '搜索',
    switch: '切换',
    tip: '提示',
    trigger: '触发',
    update: '更新',
    updateSuccess: '更新成功',
    userCenter: '个人中心',
    yesOrNo: {
      yes: '是',
      no: '否'
    },
    checkAllOrUncheckAll: {
      checkAllOrUncheckAll: '全选/全不选:',
      checkAll: '全选',
      uncheckAll: '全不选'
    },
    expandAllOrCollapsedAll: {
      expandAllOrCollapsedAll: '全部展开/折叠:',
      expandOrCollapsed: '展开/折叠',
      expandAll: '展开',
      collapsedAll: '折叠'
    },
    refreshMenu: '刷新菜单缓存',
    refreshMenuTooltip: '即将更新缓存刷新浏览器！',
    input: '请输入',
    colorType: {
      default: '默认',
      primary: '主要',
      tertiary: '次要',
      success: '成功',
      info: '信息',
      warning: '警告',
      error: '危险'
    },
    today: '今天',
    yesterday: '昨天',
    week: '近一周',
    lastWeek: '上周',
    months: '近一个月',
    threeMonths: '近三个月',
    sixMonths: '近六个月',
    oneYear: '近一年',
    dragFileHere: '将文件拖到此处，或',
    clickUpload: '点击上传',
    upload: '上传',
    uploadSuccess: '上传成功',
    uploadFailure: '上传失败',
    uploadFile: '上传文件',
    uploadFileSuccess: '上传文件成功 ! ',
    latterOverrideFormer: '新文件将覆盖旧文件',
    uploadFileFailure: '上传文件失败，请您重新上传！',
    uploadFileConfirm: '确认上传文件吗？',
    uploadFileConfirmMsg: '上传文件后，将覆盖当前文件',
    allowFileImg: '仅允许导入 jpg、png、gif 格式文件！',
    fileViewer: '文件预览',
    job: {
      cronExpressionGenerator: 'Cron表达式生成器',
      second: '秒',
      minute: '分钟',
      hour: '小时',
      day: '日',
      week: '周',
      month: '月',
      year: '年',
      monday: '星期一',
      tuesday: '星期二',
      wednesday: '星期三',
      thursday: '星期四',
      friday: '星期五',
      saturday: '星期六',
      sunday: '星期日',
      preparationForReduction: '准备还原',
      last5RunningTimes: '最近5次运行时间',
      inTheCalculationResult: '计算结果中',
      unexpectedResult: '没有达到条件的结果!',
      resultIsUniquePre: '最近100年内只有上面',
      resultIsUniqueSuf: '条结果!',
      timeExpression: '时间表达式',
      cronExpression: 'Cron 表达式',
      secondOne: '秒，允许的通配符[, - * /]',
      secondTwoPre: '周期从',
      secondTwoSuf: '秒',
      secondThreePre: '从',
      secondThreeMid: '秒开始，每',
      secondThreeSuf: '秒执行一次',
      specify: '指定',
      notSpecify: '不指定',
      multipleChoices: '可多选',
      minuteOne: '分钟，允许的通配符[, - * /]',
      minuteTwoPre: '周期从',
      minuteTwoSuf: '分钟',
      minuteThreePre: '从',
      minuteThreeMid: '分钟开始，每',
      minuteThreeSuf: '分钟执行一次',
      hourOne: '小时，允许的通配符[, - * /]',
      hourTwoPre: '周期从',
      hourTwoSuf: '小时',
      hourThreePre: '从',
      hourThreeMid: '小时开始，每',
      hourThreeSuf: '小时执行一次',
      dayOne: '日，允许的通配符[, - * ? / L W]',
      dayThreePre: '周期从',
      dayThreeSuf: '日',
      dayFourPre: '从',
      dayFourMid: '号开始，每',
      dayFourSuf: '日执行一次',
      dayFivePre: '每月',
      dayFiveSuf: '号最近的那个工作日',
      daySix: '本月最后一天',
      monthOne: '月，允许的通配符[, - * /]',
      monthTwoPre: '周期从',
      monthTwoSuf: '月',
      monthThreePre: '从',
      monthThreeMid: '月开始，每',
      monthThreeSuf: '月执行一次',
      weekOne: '周，允许的通配符[, - * ? / L #]',
      weekThree: '周期从星期',
      weekFourPre: '第',
      weekFourSuf: '周的星期',
      weekFive: '本月最后一个星期',
      yearOne: '不填，允许的通配符[, - * /]',
      yearTwo: '每年',
      yearThree: '周期从',
      yearFourPre: '从',
      yearFourMid: '年开始，每',
      yearFourSuf: '年执行一次'
    },
    component: {
      dataRangePicker: {
        placeholder: {
          date: '请选择日期',
          week: '请选择周',
          month: '请选择月',
          year: '请选择年',
          daterangeStart: '请选择开始日期',
          daterangeEnd: '请选择结束日期',
          monthrangeStart: '请选择开始月份',
          monthrangeEnd: '请选择结束月份',
          datetime: '请选择日期时间',
          datetimerangeStart: '请选择开始日期',
          datetimerangeEnd: '请选择结束日期'
        }
      }
    }
  },
  request: {
    logout: '请求失败后登出用户',
    logoutMsg: '用户状态失效，请重新登录',
    logoutWithModal: '请求失败后弹出模态框再登出用户',
    logoutWithModalMsg: '用户状态失效，请重新登录',
    refreshToken: '请求的token已过期，刷新token',
    tokenExpired: 'token已过期'
  },
  theme: {
    themeSchema: {
      title: '主题模式',
      light: '亮色模式',
      dark: '暗黑模式',
      auto: '跟随系统'
    },
    grayscale: '灰色模式',
    colourWeakness: '色弱模式',
    layoutMode: {
      title: '布局模式',
      vertical: '左侧菜单模式',
      'vertical-mix': '左侧菜单混合模式',
      horizontal: '顶部菜单模式',
      'horizontal-mix': '顶部菜单混合模式',
      reverseHorizontalMix: '一级菜单与子级菜单位置反转'
    },
    recommendColor: '应用推荐算法的颜色',
    recommendColorDesc: '推荐颜色的算法参照',
    themeColor: {
      title: '主题颜色',
      primary: '主色',
      info: '信息色',
      success: '成功色',
      warning: '警告色',
      error: '错误色',
      followPrimary: '跟随主色'
    },
    scrollMode: {
      title: '滚动模式',
      wrapper: '外层滚动',
      content: '主体滚动'
    },
    page: {
      animate: '页面切换动画',
      mode: {
        title: '页面切换动画类型',
        'fade-slide': '滑动',
        fade: '淡入淡出',
        'fade-bottom': '底部消退',
        'fade-scale': '缩放消退',
        'zoom-fade': '渐变',
        'zoom-out': '闪现',
        none: '无'
      }
    },
    fixedHeaderAndTab: '固定头部和标签栏',
    header: {
      height: '头部高度',
      breadcrumb: {
        visible: '显示面包屑',
        showIcon: '显示面包屑图标'
      }
    },
    tab: {
      visible: '显示标签栏',
      cache: '标签栏信息缓存',
      height: '标签栏高度',
      mode: {
        title: '标签栏风格',
        chrome: '谷歌风格',
        button: '按钮风格'
      }
    },
    sider: {
      inverted: '深色侧边栏',
      width: '侧边栏宽度',
      collapsedWidth: '侧边栏折叠宽度',
      mixWidth: '混合布局侧边栏宽度',
      mixCollapsedWidth: '混合布局侧边栏折叠宽度',
      mixChildMenuWidth: '混合布局子菜单宽度'
    },
    footer: {
      visible: '显示底部',
      fixed: '固定底部',
      height: '底部高度',
      right: '底部局右'
    },
    watermark: {
      visible: '显示全屏水印',
      text: '水印文本'
    },
    themeDrawerTitle: '主题配置',
    pageFunTitle: '页面功能',
    resetCacheStrategy: {
      title: '重置缓存策略',
      close: '关闭页面',
      refresh: '刷新页面'
    },
    configOperation: {
      copyConfig: '复制配置',
      copySuccessMsg: '复制成功，请替换 src/theme/settings.ts 中的变量 themeSettings',
      resetConfig: '重置配置',
      resetSuccessMsg: '重置成功'
    }
  },
  route: {
    login: '登录',
    403: '无权限',
    404: '页面不存在',
    500: '服务器错误',
    home: '首页',
    document: '文档',
    'user-center': '个人中心',
    about: '关于',
    manage: '系统管理',
    manage_user: '用户管理',
    'manage_user-detail': '用户详情',
    manage_role: '角色管理',
    manage_menu: '菜单管理',
    manage_dept: '部门管理',
    manage_dict: '字典管理',
    exception: '异常页',
    exception_403: '403',
    exception_404: '404',
    exception_500: '500',
    'iframe-page': '外链页面',
    document_project: '项目文档',
    base: '基础设施',
    base_sms: '短信管理',
    manage_post: '岗位管理',
    manage_oauth2: '授权管理',
    manage_oauth2_client: '应用管理',
    manage_oauth2_token: '令牌管理',
    base_file: '文件管理',
    base_file_config: '文件配置',
    base_file_list: '文件列表',
    manage_log: '审计日志',
    manage_log_login: '登录日志',
    manage_log_operate: '操作日志',
    base_route: '网关路由',
    base_xxl: '调度中心',
    base_xxl_overview: '运行总览',
    base_xxl_executor: '执行器管理',
    base_xxl_job: '任务管理',
    base_xxl_log: '调度日志',
    base_datasource: '数据源管理',
    base_sms_channel: '短信渠道',
    base_sms_log: '短信日志',
    base_sms_template: '短信模板',
    manage_area: '地区管理',
    manage_notice: '通知公告',
    'my-notice': '我的通知',
    manage_org: '机构管理'
  },
  page: {
    login: {
      common: {
        loginOrRegister: '登录 / 注册',
        userNamePlaceholder: '请输入用户名',
        phonePlaceholder: '请输入手机号',
        codePlaceholder: '请输入验证码',
        passwordPlaceholder: '请输入密码',
        confirmPasswordPlaceholder: '请再次输入密码',
        codeLogin: '验证码登录',
        confirm: '确定',
        back: '返回',
        validateSuccess: '验证成功',
        loginSuccess: '登录成功',
        welcomeBack: '欢迎回来，{userName} ！'
      },
      pwdLogin: {
        title: '密码登录',
        rememberMe: '记住我',
        forgetPassword: '忘记密码？',
        register: '注册账号',
        otherAccountLogin: '其他账号登录',
        otherLoginMode: '其他登录方式',
        superAdmin: '超级管理员',
        admin: '管理员',
        user: '普通用户'
      },
      codeLogin: {
        title: '验证码登录',
        getCode: '获取验证码',
        reGetCode: '{time}秒后重新获取',
        sendCodeSuccess: '验证码发送成功',
        imageCodePlaceholder: '请输入图片验证码'
      },
      register: {
        title: '注册账号',
        agreement: '我已经仔细阅读并接受',
        protocol: '《用户协议》',
        policy: '《隐私权政策》'
      },
      resetPwd: {
        title: '重置密码'
      },
      bindWeChat: {
        title: '绑定微信'
      }
    },
    about: {
      title: '关于',
      introduction: `DD Admin 是基于Spring Boot 3 、Spring Cloud & Alibaba 2023、Vue3、Native UI等全栈主流技术栈构建的开源后台管理项目，涉及 微服务接口、 管理前端、等多项的开发。`,
      projectInfo: {
        title: '项目信息',
        version: '版本',
        latestBuildTime: '最新构建时间',
        githubLink: 'Github 地址',
        previewLink: '预览地址'
      },
      prdDep: '生产依赖',
      devDep: '开发依赖'
    },
    home: {
      branchDesc: '这是一个持续维护的框架，代码正在完善中，欢迎加入。',
      greeting: '早安，{userName}, 今天又是充满活力的一天!',
      weatherDesc: '今日多云转晴，20℃ - 25℃!',
      projectCount: '项目数',
      todo: '待办',
      message: '消息',
      downloadCount: '下载量',
      registerCount: '注册量',
      schedule: '作息安排',
      study: '学习',
      work: '工作',
      rest: '休息',
      entertainment: '娱乐',
      visitCount: '访问量',
      turnover: '成交额',
      dealCount: '成交量',
      projectNews: {
        title: '项目动态',
        moreNews: '更多动态',
        desc1: 'Dimples 在2024年5月01日创建了开源项目 dimples-cloud!',
        desc2: 'Dimples 向 dimples-cloud 提交了一个bug，多标签栏不会自适应。',
        desc3: 'Dimples 准备为 dimples-cloud 的发布做充分的准备工作!',
        desc4: 'Dimples 正在忙于为dimples-cloud写项目说明文档！',
        desc5: 'Dimples 刚才把工作台页面随便写了一些，凑合能看了！'
      },
      creativity: '创意'
    },
    manage: {
      common: {
        status: {
          enable: '启用',
          disable: '禁用'
        }
      },
      role: {
        title: '角色列表',
        roleName: '角色名称',
        roleType: '角色类型',
        roleCode: '角色编码',
        roleNameOrCode: '角色名称或者编码',
        roleSort: '显示顺序',
        roleStatus: '角色状态',
        roleDesc: '角色描述',
        createTime: '创建时间',
        menuAuth: '菜单权限',
        dataAuth: '数据权限',
        buttonAuth: '按钮权限',
        form: {
          roleName: '请输入角色名称',
          roleType: '请输入角色类型',
          roleCode: '请输入角色编码',
          roleSort: '请输入显示顺序',
          roleNameOrCode: '请输入角色名称或者角色编码',
          roleStatus: '请选择角色状态',
          roleDesc: '请输入角色描述'
        },
        addRole: '新增角色',
        editRole: '编辑角色',
        roleHomePageUpdateSuccess: '角色首页更新成功',
        roleHomePageUpdateFail: '角色首页更新失败'
      },
      user: {
        title: '用户列表',
        userName: '用户名',
        userGender: '性别',
        nickName: '昵称',
        deptName: '部门名称',
        userPhone: '手机号',
        userEmail: '邮箱',
        userPost: '用户岗位',
        userRemark: '备注',
        userStatus: '用户状态',
        userRole: '用户角色',
        userDefaultRole: '默认角色',
        confirmUpdateStatusPre: '确认要',
        confirmUpdateStatusSuf: '用户吗?',
        resetPassword: '重置密码',
        confirmResetPassword: '确认要重置密码吗?',
        newPassword: '的新密码',
        passwordUpdateSuccess: '修改成功，新密码是',
        belongingDept: '归属部门',
        assignUserRole: '分配角色',
        form: {
          userName: '请输入用户名',
          userGender: '请选择性别',
          nickName: '请输入昵称',
          userPhone: '请输入手机号',
          userEmail: '请输入邮箱',
          userPost: '请选择用户岗位',
          userRemark: '请输入备注',
          userStatus: '请选择用户状态',
          userRole: '请选择用户角色',
          userDefaultRole: '请选择用户默认角色',
          belongingDept: '请选择归属部门'
        },
        addUser: '新增用户',
        editUser: '编辑用户',
        gender: {
          male: '男',
          female: '女',
          unknown: '保密'
        },
        userPickModal: {
          title: '用户选择',
          dept: '部门',
          allEmployee: '全体人员',
          unknownDept: '未知部门',
          deleteAll: '删除全部',
          selectedEmployee: '已选人员'
        }
      },
      menu: {
        home: '首页',
        title: '菜单列表',
        id: 'ID',
        parentId: '父级菜单ID',
        menuType: '菜单类型',
        menuName: '菜单名称',
        routeName: '路由名称',
        routePath: '路由路径',
        pathParam: '路径参数',
        layout: '布局',
        page: '页面组件',
        permission: '权限标识',
        i18nKey: '国际化key',
        icon: '图标',
        localIcon: '本地图标',
        iconTypeTitle: '图标类型',
        order: '排序',
        constant: '常量路由',
        constantTooltip: '用来定义一些基础页面，如登录页/404，路由将不会被添加到路由表，也不会被缓存',
        keepAlive: '缓存路由',
        href: '外链地址',
        hrefOpenType: '外链打开方式',
        hideInMenu: '隐藏菜单',
        activeMenu: '高亮的菜单',
        multiTab: '支持多页签',
        fixedIndexInTab: '固定在页签中的序号',
        query: '路由参数',
        button: '按钮权限',
        buttonCode: '按钮编码',
        buttonDesc: '按钮描述',
        menuStatus: '菜单状态',
        form: {
          home: '请选择首页',
          menuType: '请选择菜单类型',
          menuName: '请输入菜单名称',
          routeName: '例如说: manage_user',
          routeNameTooltip:
            '路由名称自动生成路由路径，路由的层级用下划线_分隔，如名称为`manage_user`生成的路径为`/manage/user`，最终生成的组件路径为`@/views/about/index.vue`',
          routePath: '请输入路由路径',
          pathParam: '请输入路径参数',
          page: '请选择页面组件',
          layout: '请选择布局组件',
          permission: '例如说: system:menu:create',
          permissionTooltip: 'Controller 方法上的权限字符，如：@PreAuthorize("@ss.hasPerm(`system:menu:create`)")',
          i18nKey: '请输入国际化key',
          i18nKeyTooltip: '将用于i18n，此时菜单名称将被忽略',
          icon: '请输入图标',
          localIcon: '请选择本地图标',
          order: '请输入排序',
          keepAlive: '请选择是否缓存路由',
          keepAliveTooltip: '选择缓存时，则会被 `keep-alive` 缓存',
          href: '请输入外链',
          hrefCurrent: '内部窗口打开',
          hrefBlank: '浏览器窗口打开',
          hideInMenu: '请选择是否隐藏菜单',
          hideInMenuTooltip: '选择隐藏时，路由将不会出现在侧边栏，但仍然可以访问',
          activeMenu: '请选择高亮的菜单的路由名称',
          multiTab: '请选择是否支持多标签',
          multiTabTooltip: '选择时，该菜单可以被重复打开',
          fixedInTab: '请选择是否固定在页签中',
          fixedIndexInTab: '请输入固定在页签中的序号',
          queryKey: '请输入路由参数Key',
          queryValue: '请输入路由参数Value',
          button: '请选择是否按钮',
          buttonCode: '请输入按钮编码',
          buttonDesc: '请输入按钮描述',
          menuStatus: '请选择菜单状态'
        },
        addMenu: '新增菜单',
        editMenu: '编辑菜单',
        addChildMenu: '新增子菜单',
        addChildButton: '新增按钮',
        type: {
          directory: '目录',
          menu: '菜单',
          button: '按钮',
          extlink: '外链'
        },
        iconType: {
          iconify: 'iconify图标',
          local: '本地图标'
        },
        refreshMenu: '刷新菜单缓存'
      },
      dept: {
        title: '部门列表',
        name: '部门名称',
        parentId: '父级部门',
        sort: '排序',
        status: '部门状态',
        createTime: '创建日期',
        leader: '负责人',
        phone: '电话',
        email: '邮箱',
        form: {
          name: '请输入部门名称',
          status: '请选择部门状态',
          parentId: '请选择上级部门',
          leader: '请输入负责人',
          phone: '请输入电话',
          email: '请输入邮箱'
        },
        addDept: '新增部门',
        editDept: '编辑部门'
      },
      org: {
        title: '机构列表',
        addOrg: '新增机构',
        editOrg: '编辑机构',
        orgName: '机构名称',
        form: {
          orgName: '请输入机构名称',
        },
      },
      dict: {
        type: {
          title: '字典类型列表',
          data: '字典数据',
          id: '类型编号',
          name: '类型名称',
          status: '类型状态',
          type: '类型编码',
          remark: '备注',
          createTime: '创建时间',
          updateTime: '更新时间',
          form: {
            name: '请输入类型名称',
            status: '请选择类型状态',
            type: '请输入类型代码',
            remark: '请输入备注'
          },
          addDictType: '新增字典类型',
          editDictType: '编辑字典类型'
        },
        id: '字典编号',
        dictType: '字典类型',
        label: '字典名称',
        value: '字典键值',
        colorType: '颜色类型',
        cssClass: 'CSS Class',
        sort: '字典排序',
        remark: '备注',
        status: '状态',
        addDict: '新增字典',
        editDict: '编辑字典',
        form: {
          dictType: '请输入字典类型代码',
          label: '请输入字典名称',
          value: '请输入字典键值',
          colorType: '请选择颜色类型',
          cssClass: '请输入 CSS Class',
          sort: '请选择字典排序',
          remark: '请输入字典备注'
        },
        refreshDictCache: '刷新字典缓存',
        refreshDictCacheTooltip: '即将刷新字典缓存 ！'
      },
      post: {
        title: '岗位列表',
        id: '岗位编号',
        name: '岗位名称',
        code: '岗位编码',
        sort: '岗位排序',
        status: '岗位状态',
        remark: '岗位备注',
        createTime: '创建时间',
        form: {
          name: '请输入岗位名称',
          code: '请输入岗位编码',
          sort: '请输入岗位排序',
          status: '请选择岗位状态',
          remark: '请输入岗位备注'
        },
        addPost: '新增岗位',
        editPost: '编辑岗位'
      },
      oauth2: {
        client: {
          title: '应用管理列表',
          clientId: '客户端编号',
          clientSecret: '客户端密钥',
          clientName: '应用名',
          clientLogo: '应用图标',
          status: '客户端状态',
          clientIdIssuedAt: '创建时间',
          clientSecretExpiresAt: '密钥有效期',
          authorizationGrantTypes: '授权类型',
          clientScope: '授权范围',
          redirectUris: '重定向地址',
          clientDescription: '应用描述',
          accessTokenTimeToLive: 'Token 有效期(单位 s)',
          refreshTokenTimeToLive: 'Refresh Token 有效期(单位 s)',
          form: {
            clientId: '请输入客户端编号',
            clientSecret: '请输入客户端密钥',
            clientName: '请输入应用名',
            clientLogo: '请上传应用图标',
            status: '请选择客户端状态',
            clientDescription: '请输入应用描述',
            clientSecretExpiresAt: '请选择密钥有效期',
            authorizationGrantTypes: '请选择授权类型',
            clientScope: '请选择授权范围',
            redirectUris: '请输入重定向地址',
            accessTokenTimeToLive: '请输入 Token 有效期(单位 s)',
            refreshTokenTimeToLive: '请输入 Refresh Token 有效期(单位 s)'
          },
          addClient: '新增应用',
          editClient: '编辑应用'
        },
        token: {
          title: '令牌管理列表',
          id: '令牌编号',
          clientId: '客户端编号',
          username: '用户名',
          accessToken: '访问令牌',
          refreshToken: '刷新令牌',
          accessTokenIssuedAt: '令牌发布时间',
          accessTokenExpiresAt: '令牌过期时间',
          authorizationGrantType: '授权类型',
          forcedRetreat: '强退',
          forcedRetreatWhether: '是否要强制退出用户?',
          form: {
            clientId: '请输入客户端编号',
            username: '请输入用户名',
            authorizationGrantType: '请选择授权类型'
          }
        }
      },
      log: {
        login: {
          title: '登录日志列表',
          id: '日志编号',
          traceId: '日志链路编号',
          logType: '日志类型',
          username: '用户名称',
          userIp: '网络地址',
          browser: '浏览器信息',
          os: '操作系统',
          loginAddress: '登录地址',
          loginLocation: '登录地点',
          createTime: '登录时间',
          result: '登录结果',
          form: {
            username: '请输入用户名称',
            userIp: '请输入 IP 地址',
            browser: '请输入浏览器信息',
            loginAddress: '请输入登录地址',
            createTime: '请选择登录时间'
          }
        },
        operate: {
          title: '操作日志列表',
          id: '日志编号',
          traceId: '日志链路编号',
          userId: '用户编号',
          nickname: '操作人员',
          userType: '用户类型',
          applicationName: '应用名称',
          javaMethod: 'Java 方法',
          requestMethod: '请求方法',
          requestParams: '请求参数',
          responseBody: '响应结果',
          requestUrl: '请求地址',
          userInfo: '用户信息',
          userIp: 'IP地址',
          userAgent: '浏览器',
          operateModule: '操作模块',
          operateName: '操作名称',
          operateType: '操作类型',
          beginTime: '请求时间',
          endTime: '结束时间',
          duration: '执行时间(ms)',
          resultCode: '操作状态',
          resultMsg: '操作消息',
          createTime: '创建时间',
          form: {
            userId: '请输入用户编号',
            userType: '请选择用户类型',
            applicationName: '请输入应用名称',
            beginTime: '请选择请求时间',
            duration: '请输入执行时间',
            resultCode: '请输入结果码',
            operateType: '请选择操作类型'
          }
        }
      },
      area: {
        title: '地区列表',
        id: '编号',
        name: '地名',
        ipSearch: 'IP 查询',
        ipAddress: '地址',
        ipCheckFail: 'IP 格式错误, 形如: xxx.xxx.xx.xx或者xx.xx.xx.xx,vv.vv.vv.v',
        form: {
          name: '请选择地名',
          ipSearch: '请输入查询IP, 多个以,分隔',
          ipAddress: '展示IP查询结果'
        }
      },
      notice: {
        title: '公告列表',
        add: '新增公告',
        edit: '编辑公告',
        noticeTitle: '通知标题',
        content: '通知内容',
        type: '通知类型',
        level: '通知等级',
        publisherId: '发布人',
        publisherName: '发布人',
        priority: '优先级',
        targetType: '目标类型',
        targetTypeAll: '全体',
        targetTypeUser: '指定',
        targetUserIds: '目标ID',
        appointUser: '指定用户',
        publishStatus: '发布状态',
        publishStatusUnPublished: '未发布',
        publishStatusPublished: '已发布',
        publishStatusRevoked: '已撤回',
        operaTime: '操作时间',
        publishTime: '发布时间',
        revokeTime: '撤回时间',
        createTime: '创建时间',
        publish: '发布',
        publishAffirm: '是否确定发布该通告?',
        publishSuccess: '发布成功',
        revoke: '撤回',
        revokeAffirm: '是否确定撤回该通告?',
        revokeSuccess: '撤回成功',
        readStatus: '状态',
        isRead: '已读',
        unRead: '未读',
        form: {
          noticeTitle: '请输入通知标题',
          content: '请输入通知内容',
          type: '请选择通知类型',
          level: '请选择通知等级',
          publisherId: '请输入发布人',
          publisherName: '请输入发布人',
          priority: '请选择优先级',
          targetType: '请选择目标类型',
          targetUserIds: '请输入目标ID',
          appointUser: '请选择指定用户',
          publishStatus: '请选择发布状态',
          readStatus: '请选择阅读状态',
          publishTime: '请选择发布时间',
          revokeTime: '请选择撤回时间',
          createTime: '请选择创建时间'
        },
        myNotice: {
          title: "我的通知公告"
        }
      }
    },
    base: {
      file: {
        config: {
          addFileConfig: '新增存储配置',
          editFileConfig: '编辑存储配置',
          id: '编号',
          test: '测试',
          master: '主配置',
          masterSwitch: '主配置切换',
          masterSwitchPrefix: '是否确认修改配置编号为【',
          masterSwitchSuffix: '】的数据项为主配置?',
          name: '配置名',
          storage: '存储器',
          config: '存储配置',
          remark: '备注',
          createTime: '创建时间',
          basePath: '基础路径',
          host: '主机地址',
          port: '主机端口',
          username: '用户名',
          password: '密码',
          mode: '连接模式',
          modeActive: '主动模式',
          modePassive: '被动模式',
          endpoint: '节点地址',
          bucket: '存储',
          accessKey: 'Access Key',
          accessSecret: 'Access Secret',
          domain: '自定义域名',
          testUploadSuccess: '测试上传成功',
          testAccessFile: '是否要访问该文件？',
          form: {
            name: '请输入配置名',
            storage: '请选择存储器',
            config: '请输入存储配置',
            remark: '请输入备注',
            master: '请选择主配置',
            createTime: '请选择创建时间',
            basePath: '请输入基础路径',
            host: '请输入主机地址',
            port: '请输入主机端口',
            username: '请输入用户名',
            password: '请输入密码',
            mode: '请选择连接模式',
            modeActive: '请选择主动模式',
            modePassive: '请选择被动模式',
            endpoint: '请输入节点地址',
            bucket: '请输入存储',
            accessKey: '请输入 Access Key',
            accessSecret: '请输入 Access Secret',
            domain: '请输入自定义域名'
          }
        },
        list: {
          title: '文件列表',
          uoloadFile: '上传文件',
          id: '文件编号',
          name: '文件名',
          path: '文件路径',
          type: '文件类型',
          content: '文件内容',
          size: '文件大小',
          url: 'URL',
          createTime: '上传时间',
          form: {
            name: '请输入文件名',
            path: '请输入文件路径',
            type: '请输入文件类型',
            createTime: '请选择上传时间',
            uploadFile: '请上传文件'
          }
        }
      },
      route: {
        title: '路由列表',
        addGatewayRoute: '新增路由',
        editGatewayRoute: '编辑路由',
        routerId: '路由编号',
        name: '路由名称',
        uri: '路由URL',
        status: '路由状态',
        predicates: '路由条件',
        addPredicates: '添加路由条件',
        filters: '过滤器',
        addFilters: '添加过滤器',
        addParams: '添加参数',
        form: {
          routerId: '请输入路由编号',
          name: '请输入路由名称',
          uri: '请输入路由URL',
          predicates: '请输入路由条件',
          filters: '请输入过滤器'
        },
        headerName: 'Header名称',
        paramValue: '参数值',
        paramName: '参数名'
      },
      xxl: {
        overview: {
          title: 'Xxl-Job 运行总览',
          executorCount: '执行器',
          executorDesc: '调度中心在线的执行器机器数量',
          scheduledTasksCount: '调度任务',
          scheduledTasksDesc: '调度中心正在调度的任务数量',
          scheduledTotalCount: '调度次数',
          scheduledTotalDesc: '调度中心调度的总次数',
          scheduledFailCount: '调度失败',
          scheduledFailDesc: '调度中心调度失败的总次数',
          scheduleSituation: '调度情况',
          success: '调度成功',
          failed: '调度失败',
          running: '正在运行'
        },
        executor: {
          title: '执行器列表',
          addExecutor: '新增执行器',
          editExecutor: '编辑执行器',
          id: '执行器编号',
          appname: 'AppName',
          executorTitle: '执行器名称',
          addressType: '注册方式',
          addressList: '机器地址',
          updateTime: '更新时间',
          registryList: '注册节点',
          check: '查看',
          status: '节点状态',
          statusAllNormal: '所有节点正常',
          statusAllException: '所有节点异常',
          statusPartialAnomaly: '部分节点异常',
          form: {
            appname: '请输入 AppName',
            executorTitle: '请输入执行器名称',
            addressList: '请输入执行器地址列表, 多个地址用英文逗号分隔'
          }
        },
        job: {
          title: '任务列表',
          addJob: '新增任务',
          editJob: '编辑任务',
          id: '任务ID',
          jobGroup: '执行器',
          jobDesc: '任务描述',
          addTime: '创建时间',
          updateTime: '更新时间',
          author: '负责人',
          alarmEmail: '告警邮箱',
          scheduleType: '调度类型',
          scheduleConf: 'Cron',
          triggerFrequency: '触发频率',
          misfireStrategy: '调度过期策略',
          executorRouteStrategy: '路由策略',
          executorMode: '运行模式',
          executorHandler: 'JobHandler',
          executorParam: '执行参数',
          executorAddressList: '机器地址',
          executorBlockStrategy: '阻塞处理策略',
          executorTimeout: '任务超时时间',
          executorFailRetryCount: '失败重试次数',
          glueType: 'GLUE类型',
          glueSource: 'GLUE源代码',
          glueRemark: 'GLUE备注',
          glueUpdatetime: 'GLUE更新时间',
          childJobId: '子任务ID',
          triggerStatus: '调度状态',
          triggerLastTime: '上次调度时间',
          triggerNextTime: '下次调度时间',
          all: '全部',
          stop: '停止',
          running: '运行中',
          scheduleTypeNone: '无',
          scheduleTypeCron: 'CRON',
          scheduleTypeFixRate: '固定速率',
          jobconfRouteFirst: '第一个',
          jobconfRouteLast: '最后一个',
          jobconfRouteRound: '轮询',
          jobconfRouteRandom: '随机',
          jobconfRouteConsistentHash: '一致性HASH',
          jobconfRouteLfu: '最不经常使用',
          jobconfRouteLru: '最近最久未使用',
          jobconfRouteFailover: '故障转移',
          jobconfRouteBusyover: '忙碌转移',
          jobconfRouteShard: '分片广播',
          misfireStrategyDoNothing: '忽略',
          misfireStrategyFireOnceNow: '立即执行一次',
          blockStrategySerialExecutor: '单机串行',
          blockStrategyDiscardLater: '丢弃后续调度',
          blockStrategyCoverEarly: '覆盖之前调度',
          generatedExpression: '生成表达式',
          basicConfiguration: '基础配置',
          schedulingConfiguration: '调度配置',
          jobConfiguration: '任务配置',
          advancedConfiguration: '高级配置',
          executeOnce: '执行一次',
          executeOnceSuccess: '执行成功',
          startSuccess: '启动成功',
          logView: '日志查询',
          registeredNode: '注册节点',
          nextExecutionTime: '下次执行时间',
          jobStart: '启动',
          jobStop: '停止',
          jobStartAffirm: '确定启动任务?',
          jobStopAffirm: '确定停止任务?',
          jobCopy: '复制',
          form: {
            jobGroup: '请选择执行器',
            jobDesc: '请输入任务描述',
            author: '请输入负责人',
            alarmEmail: '请输入告警邮箱, 多个邮箱用英文逗号分隔',
            scheduleType: '请选择调度类型',
            scheduleConf: 'Cron表达式...',
            scheduleTypeFixRate: '请输入 ( Second )',
            misfireStrategy: '请选择调度策略',
            executorRouteStrategy: '请选择路由策略',
            executorHandler: '请输入JobHandler',
            executorMode: '请选择运行模式',
            executorParam: '请输入执行参数',
            executorAddressList: '请选择本次执行的机器地址, 为空则从执行器获取',
            executorBlockStrategy: '请选择阻塞处理策略',
            executorTimeout: '任务超时时间, 单位秒, 大于零时生效',
            executorFailRetryCount: '失败重试次数, 大于零时生效',
            glueType: '请选择GLUE类型',
            glueSource: '请输入GLUE源代码',
            glueRemark: '请输入GLUE备注',
            glueRemarkDefaultValue: 'GLUE代码初始化',
            childJobId: '请输入子任务的任务ID, 如存在多个以英文逗号分隔',
            triggerStatus: '请选择调度状态',
            triggerLastTime: '上次调度时间',
            triggerNextTime: '下次调度时间'
          }
        },
        log: {
          title: '任务日志列表',
          id: '日志ID',
          jobGroup: '执行器',
          jobId: '任务ID',
          jobDetail: '任务详情',
          triggerTime: '调度时间',
          triggerCode: '调度结果',
          triggerMsg: '	调度备注',
          triggerLog: '	调度日志',
          handleTime: '执行时间',
          handleCode: '	执行结果',
          handleMsg: '	执行备注',
          handleLog: '	执行结果',
          job: '任务',
          jobStatus: '状态',
          all: '全部',
          success: '成功',
          fail: '失败',
          running: '进行中',
          executorAddress: '执行器地址',
          executorHandler: 'JobHandler',
          jobDesc: '任务描述',
          executorParam: '任务参数',
          executorLog: '执行日志',
          killJob: '终止任务',
          killJobAffirm: '确定终止任务?',
          killJobSuccess: '终止任务成功!',
          joblogRollingLogTriggerFail: '任务发起调度失败，无法查看执行日志',
          joblogRollingLogFailOften: '终止请求Rolling日志,请求失败次数超上限,可重新打开弹窗重新加载日志',
          form: {
            jobGroup: '请选择执行器',
            job: '请选择或者输入任务',
            jobStatus: '请选择任务状态',
            handleTime: '请选择调度时间'
          }
        }
      },
      datasource: {
        title: '数据源列表',
        add: '新增数据源',
        edit: '编辑数据源',
        name: '数据源名称',
        code: '数据源编码',
        remark: '备注',
        dbType: '数据库类型',
        dbDriver: '驱动类',
        dbUrl: '数据源地址',
        dbName: '数据库名称',
        dbUsername: '用户名',
        dbPassword: '密码',
        createTime: '创建时间',
        testConnection: '连接测试',
        testConnectionSuccess: '连接测试成功',
        testConnectionFail: '连接测试失败',
        form: {
          name: '请输入数据源名称',
          dbType: '请选择数据源类型',
          code: '请输入数据源编码',
          remark: '请输入备注',
          dbDriver: '请输入驱动类',
          dbUrl: '请输入数据源地址',
          dbName: '请输入数据库名称',
          dbUsername: '请输入用户名',
          dbPassword: '请输入密码'
        }
      },
      sms: {
        channel: {
          title: '短信渠道列表',
          add: '新增渠道',
          edit: '编辑渠道',
          id: '编号',
          signature: '短信签名',
          code: '渠道编码',
          status: '启用状态',
          remark: '备注',
          apiKey: 'API 账号',
          apiSecret: 'API 密钥',
          callbackUrl: '短信发送后回调 URL',
          createTime: '创建时间',
          form: {
            signature: '请输入短信签名',
            code: '请选择渠道编码',
            status: '请选择启用状态',
            remark: '请输入备注',
            apiKey: '请输入API 账号',
            apiSecret: '请输入API 密钥',
            callbackUrl: '请输入短信发送后回调 URL'
          }
        },
        template: {
          title: '短信模板列表',
          sendTitle: '短信发送测试',
          add: '新增模板',
          edit: '编辑模板',
          id: '编号',
          type: '短信类型',
          status: '状态',
          code: '模板编码',
          name: '模板名称',
          content: '模板内容',
          contparamsent: '模板参数',
          remark: '备注',
          apiTemplateId: '短信 API 模板编号',
          channel: '短信渠道',
          channelId: '渠道编号',
          channelCode: '渠道编码',
          createTime: '创建时间',
          mobile: '手机号',
          paramsText: '参数',
          sendSmsSuccess: '提交发送成功！发送结果，见发送日志编号: ',
          form: {
            type: '请选择短信类型',
            status: '请选择状态',
            code: '请输入模板编码',
            name: '请输入模板名称',
            content: '请输入模板内容',
            contparamsent: '请输入模板参数',
            remark: '请输入备注',
            apiTemplateId: '请输入短信 API 模板编号',
            channel: '请选择短信渠道',
            channelId: '请选择渠道编号',
            channelCode: '请选择渠道编码',
            mobile: '请输入手机号',
            paramNotNull: '不能为空',
            pleaseEnter: '请输入'
          }
        },
        log: {
          title: '短信日志列表',
          id: '日志编号',
          channel: '短信渠道',
          channelId: '渠道编号',
          channelCode: '渠道编码',
          template: '短信模板',
          templateId: '模板编号',
          templateCode: '模板编码',
          templateType: '模板类型',
          templateContent: '短信内容',
          templateParams: '短信参数',
          apiTemplateId: '短信 API 模板编号',
          userInfo: '用户信息',
          mobile: '手机号',
          userId: '用户编号',
          userType: '用户类型',
          sendStatus: '发送状态',
          sendTime: '发送时间',
          apiSendCode: '发送返回码',
          apiSendMsg: 'API 发送结果',
          apiRequestId: 'API 请求编号',
          apiSerialNo: 'API 短信编号',
          receiveStatus: '接收状态',
          receiveTime: '接收时间',
          apiReceiveCode: '接收返回码',
          apiReceiveMsg: 'API 接收结果',
          createTime: '创建时间',
          form: {
            mobile: '请输入手机号',
            channelId: '请选择短信渠道',
            templateId: '请输入模板编号',
            sendStatus: '请选择发送状态',
            receiveStatus: '请选择接收状态'
          }
        }
      }
    }
  },
  form: {
    required: '不能为空',
    userName: {
      required: '请输入用户名',
      invalid: '用户名格式不正确'
    },
    phone: {
      required: '请输入手机号',
      invalid: '手机号格式不正确'
    },
    pwd: {
      required: '请输入密码',
      invalid: '密码格式不正确，6-18位字符，包含字母、数字、下划线'
    },
    confirmPwd: {
      required: '请输入确认密码',
      invalid: '两次输入密码不一致'
    },
    code: {
      required: '请输入验证码',
      invalid: '验证码格式不正确'
    },
    email: {
      required: '请输入邮箱',
      invalid: '邮箱格式不正确'
    }
  },
  dropdown: {
    closeCurrent: '关闭',
    closeOther: '关闭其它',
    closeLeft: '关闭左侧',
    closeRight: '关闭右侧',
    closeAll: '关闭所有'
  },
  icon: {
    themeConfig: '主题配置',
    themeSchema: '主题模式',
    lang: '切换语言',
    fullscreen: '全屏',
    fullscreenExit: '退出全屏',
    reload: '刷新页面',
    collapse: '折叠菜单',
    expand: '展开菜单',
    pin: '固定',
    unpin: '取消固定'
  },
  datatable: {
    itemCount: '共 {total} 条'
  },
  header: {
    notice: {
      notice: '通知',
      noNotice: '暂无通知',
      message: '消息',
      noMessage: '暂无消息',
      backlog: '待办',
      noBacklog: '暂无待办',
      readMore: '查看更多',
      readAll: '全部已读',
    }
  }
};

export default local;
